查看原文
其他

进展汇总 | Flutter 精彩不停,与您同在

Flutter 谷歌开发者 2021-08-05

作者 / Tim Sneath, Product Manager for Flutter and Dart, Google


春日已去,盛夏可期。面对常规活动和线下交流的空白期,我们决定通过全新的方式,越过云端拉进与 Flutter 开发者的距离并与大家分享最新的 Flutter 内容。在过去的两个月内,我们都会定期发布有关 Flutter 新动态的内容,让大家能够在碎片时间吸收更多技术知识并收获乐趣。在这篇文章中,我们将对这些分享做一个汇总,并进行适当的拓展说明。



面向 Flutter 开发者的免费入门课程


在之前连载的《Flutter 实操课程: 手把手带您解锁多平台开发技能》中,我们谈到了与 App Brewery 的合作,并向大家赠送一套全新的 Flutter 入门课程。该课程由 App Brewery 的 Angela Yu 负责讲授,共包含 10 小时以上的视频教程和代码实操。我们很高兴看到已有超过 75,000 名开发者报名参加了该课程,近 5,000 人获得了结课证书 (我 13 岁的儿子就是其中之一!) 。对于已经加入课程的开发者们,我们希望您已通过 Discord 频道获得了由 Very Good Ventures 和志愿者团队提供的答疑和支持服务。与此同时,我们也在积极听取开发者们的声音,尤其是关于早期问题症结的反馈,并结合建议不断改进优化 Flutter 文档和产品。

  • Very Good Ventures

    https://verygood.ventures/


如果您即将完成这些入门课程,您可能问自己: "然后呢?" 为此,我们在下方推荐了一些当下热门知识点的进阶课程,希望对您有所帮助:

  • Flutter 实操课程第 2 阶段 (讲师 / Angela Yu): 内容涵盖调用 web 服务与 Firebase 集成、更高级的 widget、状态管理和动画制作;
  • Tourism & Co 课程 (讲师 / Nick Maning): 通过应用案例讲解,教授您如何将《Flutter 实操课程》的所学知识灵活运用并付诸实践,内容涵盖单元和集成测试、异步 web 服务调用、JSON API 和自定义视图;
  • Rest API Crash 课程 (讲师 / Andrea Bizotto): 结合 API 的使用场景,为您介绍如何调用基于 REST 的 web 服务,缓存返回数据以及处理服务降级的问题。


  • Flutter 实操课程第 2 阶段 (讲师 / Angela Yu)
    https://www.udemy.com/course/flutter-bootcamp-with-dart/?referralCode=2B7724A180C0502A2547
  • Tourism & Co 课程 (讲师 / Nick Maning)
    https://fluttercrashcourse.com/courses/tourismco
  • Rest API Crash 课程 (讲师 / Andrea Bizotto)
    https://courses.codewithandrea.com/


CodePen 现已提供 Flutter 支持


第二则重磅消息是 CodePen 现已引入 Flutter 支持。目前,来自全球各地的设计师和开发者已经创建了近 5,000 款 Flutter 画笔。与此同时,开发者们也在 CodePen 上展现了许多令人大开眼界的精彩创意!以下为团队在过去几周内甄选出来的部分优秀作品:
  • Retro Boy Color / 作者: Mariano Zorilla 
    https://codepen.io/mkiisoft/full/bGVxrWK
  • Netflix Logo in Flutter / 作者: Dominik Roszkowski 
    https://codepen.io/orestesgaolin/full/xxwzdgJ
  • Flutter Space Program / 作者: Dominik Roszkowski 
    https://codepen.io/orestesgaolin/full/qBOxpBK
  • Draggable C curve / 作者: Paul Thomas 
    https://codepen.io/Darth_Paul/full/YzyrmGy
  • Liquid Polygon / 作者: Robert Felker 
    https://codepen.io/blueaquilae/full/pojWyZg
  • Long shadow animations / 作者: Jonathan Monga 
    https://codepen.io/jonathan_monga/full/qBOQWgp
  • Trigonometric Flutter / 作者: Deven Joshi 
    https://codepen.io/Deven-Joshi/full/NWGdvgG
  • Color Test / 作者: Chiziaruhoma Ogbonda
    https://codepen.io/chiziaruhoma-ogbonda/full/oNjObRm

△ 使用 Flutter web 支持展示原型与实验性设计的新款 CodePen

欢迎大家继续探索 CodePen,尽情挥洒创意。我们将在近期推出相关挑战赛,期待您的参与!



Flutter 势头正盛


我们在《Flutter 势头正盛 | 2020 春季速递》一文中公布了一些关于 Flutter 使用情况的数据。就用户人数来看,目前全球共有超过 200 万的开发者正在使用 Flutter,且目前的日均用户数已经超过了去年同期的每周用户数。


截至 4 月 22 日 (原文发布日期),Play Store 应用商店内的 Flutter 应用约有 50,000 个。随后 Flutter 的发展速度持续加快,仅在一个月内又有 10,000 个新应用上传。Flutter 的强劲势头离不开您的支持,感谢大家一直以来的陪伴!


此外,Flutter 第一季度开发者调研的结果也已新鲜出炉,本次调研共有超过 6,000 位用户参加,其中 94.5% 的受访者对 Flutter 表示满意或十分满意。我们也通过收集到的反馈,了解了大家在日常开发中遇到的一些困难和挑战。在之前的一次调研里,开发者们提到动画制作的难度较大。为了给大家提供更加细致的技术指导,我们随后上传了一系列 Flutter 动画教学视频,并添加了更详尽的技术文档。

  • Flutter 第一季度开发者调研的结果

    https://medium.com/flutter/what-are-the-important-difficult-tasks-for-flutter-devs-q1-2020-survey-results-a5ef2305429b



Flutter Web 最新进展


在过去的几个月中,我们一直在努力改进 Flutter 针对 web 的支持。在 《Flutter web 最新进展: 发掘更多可能!》一文中,我们指出性能和一致性的提升是团队尤为关注的领域。自 Flutter 为 PWA 应用 (Progressive Web App) 提供支持以来,我们也在不断对其进行优化,例如通过引入更复杂的 Service Worker 缓存机制来提高首次加载性能。

  • 更复杂的 Service Worker 缓存机制
    https://github.com/flutter/flutter/pull/56103


从上周开始,我们还陆续发布了一系列关于 Flutter web 的技术文章。我们基于 Flutter Gallery 的优化经验,归纳总结了一些实用的小技巧,以协助您进一步提升 Flutter 应用在 web 平台上的性能表现。请您继续关注该系列连载,我们将在接下来的几周内与您分享更多精彩内容!

  • 关于 Flutter web 的技术文章
    https://medium.com/flutter/optimizing-performance-in-flutter-web-apps-with-tree-shaking-and-deferred-loading-535fbe3cd674



Flutter 1.17 和 Dart 2.8


Flutter 1.17 Dart 2.8 的发布可能是今年上半年最重要的 Flutter 消息。Flutter 1.17 在所有平台上的性能和内存表现都有所提升,尤其是 iOS 平台,这主要得益于 Flutter 对 iOS 图形渲染框架 Metal 的支持。Flutter 也针对 Android 进行了多项改进,其中特别值得一提的是 "快速启动" 选项。当启用该功能后,您无需进行任何代码修改,Flutter 应用的调试速度可自动提高 3 倍。

  • 快速启动

    https://github.com/flutter/flutter/pull/46140


除了《Flutter 1.17 | 2020 首个稳定版发布!》提到的新特性之外,您可能还注意到了另外一个小变化: 我们更新了发布模式构建的报错界面。从现在开始,当 widget 配置发生错误时,不会再出现红屏现象。请注意,该变更仅对发布模式构建有效。许多开发者曾向我们反馈说,发布包含错误的应用的情况并不常见,因此希望我们可以提供一个稍微 "低调点" 的报错提示。(如果您还有别的需求,请通过 ErrorWidget.builder 属性自定义报错界面。)

  • 不会再出现红屏现象
    https://github.com/flutter/flutter/issues/40452
  • ErrorWidget.builder
    https://api.flutter.dev/flutter/widgets/ErrorWidget/builder.html

在撰写本文的同时,我们很高兴看到已有近七成的开发者升级到了 1.17 版本。如果您目前尚在使用旧版本 Flutter,不妨尽快上手一试,尽情体验新版本带来的诸多强劲特性!


我们最近刚对 Flutter 1.17 进行了一次热修复。为了进一步提高 Flutter 的稳定性和质量,我们还将陆续推送若干必要更新。您可前往 wiki 页面,了解每一次热修复所包含的具体项目,以及如何确保您正在使用最新的稳定版本。

  • wiki 页面

    https://github.com/flutter/flutter/wiki/Hotfixes-to-the-Stable-Channel



欢迎体验预览版 Adobe XD 插件


另一则让设计师们激动的重要消息是,Adobe 现已发布了首个官方预览版本的 Adobe XD Flutter 导出插件。


Adobe 在本周发布了一次插件更新,修复了一些与不透明度有关的输出错误,并将许多图形合并在一起,从而简化了 Dart 代码的编写工作。此外,Adobe 还在上周的更新中添加了几个可用于访问响应式布局的新 API。待插件进一步普及后,我们会在接下来的几周内再对 XD Flutter 导出插件进行一次更新,以提高所生成 Dart 代码的灵活性。

  • 修复了一些与不透明度有关的输出错误

    https://github.com/AdobeXD/xd-to-flutter-plugin/blob/master/CHANGELOG.md

  • 上周的更新

    https://theblog.adobe.com/xd-may-2020-offline-coediting-sharing-improvements/

  • 添加了几个可用于访问响应式布局的新 API

    https://adobexdplatform.com/plugin-docs/changes.html#new-api-features



插件和 Flutter Favorites 项目


我们最近在《更方便、更强大: Flutter package 生态系统更新》一文中宣布了两则重要讯息:
  • 计划将 Flutter 团队所开发的众多插件升级至 "1.0" 版本;
  • 新加入了包括 sign_in_with_apple (通过 Apple 登录) 在内的多款 Flutter Favorite package 和插件。


好的作品,即使在知名度上有所欠缺,却依旧值得被挖掘、被推荐。Flutter 有超过 10,000 个 package,我们很难一一给予肯定与嘉奖,这里我们将重点推荐一些暂未加入 Flutter Favorite,但绝对值得关注的优质 package,欢迎前往 pub.dev 进一步了解详情:

  • fl_chart 提供了多款美观的商务图表,包括折线图、柱状图、散点图和饼状图;

  • flutter_blurhash 可快速生成占位图,从而帮您解决图片加载时间较长的难题;
  • font_awesome_flutter 提供了数千款可轻松添加至 Flutter 应用的图标;
  • fab_circular_menu 提供了一款样式精美的弹出式菜单;
  • Flutter_staggered_animations 为列表视图 (listview)、网格视图 (gridview) 以及列 (colum) 提供了精美的加载动画;
  • device_preview 可将您的应用约束在一个自定义的设备 shell 内,以允许您进行跨设备界面预览,例如在 macOS 设备上预览 iPhone 界面;
  • smooth_page_indicator 允许您以动画方式切换多个卡片式概览界面 (infocard);
  • flame 提供了一个小型的 Flutter 游戏引擎,并包括大量的指导教程;
  • flutter_launcher_icons 是一套流行的 CLI 工具,大大简化了更新 Flutter 应用启动图标的流程;
  • Smooth_star_rating 提供了一套紧凑型的星级评分控件。

△ pub.dev 网站上有超过 10,000 个插件等您前来探索,从商务图标到 2D 游戏引擎的 Flutter 支持,应有尽有!

如果您目前正在开发 package,不妨阅读一下《现代 Flutter 插件开发》这篇文章,进而收获更多技术干货和开发技巧。另外,Flutter 第二季度开发者调研正在火热进行中,欢迎大家前往参与调研,向我们反馈插件开发方面的感受与想法。

  • 《现代 Flutter 插件开发》

    https://medium.com/flutter/modern-flutter-plugin-development-4c3ee015cf5a



Flutter Day,不见不散!


再过几周 Flutter Day 就要与大家见面了,6 月 26 日,我们线上不见不散!活动当日,我们将为大家带来三场技术分享、#AskFlutter 问答活动以及包括最新内容的一系列 codelabs,让您为社区主导的 #Hack20 Flutter 国际黑客马拉松大赛做好准备,与世界各地的 Flutter 开发者们一决高下。


  • Flutter Day
    http://g.co/flutterday
  • #Hack20 Flutter 黑客马拉松大赛
    https://flutterhackathon.com/#/

Flutter 的精彩从未止步,我们将奉上更多精彩内容与您见面,敬请期待!同时,也欢迎大家与我们分享您的 Flutter 故事。


您对 Flutter 有什么想法或建议吗?欢迎在下方评论区畅所欲言,期待收到您的反馈!



推荐阅读






 点击屏末 | 阅读原文 | 访问 Flutter 开发者社区中文资源



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存